A memory capable of holding multi-level data in the memory cell has been developed. In the memory, a function of a sense amplifier is also required to support multi-level. That is, in the memory, there is a single-level cell (SLC) capable of storing 1-bit data in the memory cell, a multi-level cell (MLC) capable of storing multi-bit data in the memory cell and the like.